/*
File:		SapperBot.h
Author:		Ben Feldmann and Colby Yeates
Purpose:	Class to manage game SapperBot enemies
*/

#pragma once

#include "Enemy.h"

class SapperBot : public Enemy
{
public:
	SapperBot();

	~SapperBot();

	void Update(float elapsed);

	void Render();

	bool CheckCollision(IEntity* base);

	void Attack();

	void SpecialAttack();

	// Pure virtual method from IListener
	virtual void HandleEvent(Event* thisEvent);

	Player* GetPlayer(void);

private:

	// Shoot the lightning
	void LightningBolt(void);

	// Amount of energy Drained
	float Energy;

	// Is it damaging or draining?
	bool Draining;

	// Wait for the player to get some energy
	bool Waiting;

	// Points for the lightning effect
	int x1;
	int y1;
	int x2;
	int y2;

	// Is the sapper on-screen?
	bool OnScreen;

	// Number of sapper bots loaded
	static unsigned int Count;

	// The sounds
	static int SapSound;
	static int BoltSound;

	// Time to wait till next zap
	float WaitTimer;
};